package com.cy.es.repo;

import com.cy.es.entity.Student;
import org.springframework.data.domain.Pageable;
import org.springframework.data.elasticsearch.repository.ElasticsearchRepository;

import java.util.List;

/*
Repository 规范，
只要实现 Repository 接口，就可以访问数据，具体代码不需要自己完成spring data 会自动创建动态代理对象

这里不需要任何配置和注解
空接口继承ESRepo接口，需要泛型参数<索引封装类类型，索引id的类型>
 */
public interface StuRepository extends ElasticsearchRepository<Student,Long> {

    /*
    条件查询的方法名有官方规定：
    https://docs.spring.io/spring-data/elasticsearch/docs/4.2.2/reference/html/#elasticsearch.repositories
     */

    // 根据 name 查询
    List<Student> findByName(String name);

    // 根据 name 和 birthDate 查询
    List<Student> findByNameOrBirthDate(String name, String birthDate, Pageable pageable);
}
